home *** CD-ROM | disk | FTP | other *** search
/ Complete Linux / Complete Linux.iso / docs / apps / circuits / spice2g6.z / spice2g6 / spice / Fortran / relmem.f < prev    next >
Encoding:
Text File  |  1989-02-03  |  892 b   |  31 lines

  1.       subroutine relmem(ipntr,ksize)
  2.       implicit double precision (a-h,o-z)
  3.       dimension ipntr(1)
  4. c spice version 2g.6  sccsid=memmgr 3/15/83
  5.       common /memmgr/ cpyknt,istack(1),lorg,icore,maxcor,maxuse,memavl,
  6.      1   ldval,numblk,loctab,ltab,ifwa,nwoff,ntab,maxmem,memerr,nwd4,
  7.      2   nwd8,nwd16
  8.       logical memptr
  9. c
  10. c***  relmem - release part of block
  11. c
  12. c
  13. c...  check for valid pointer
  14.       if (memptr(ipntr(1))) go to 10
  15.       memerr=5
  16.       call errmem(5,memerr,ipntr(1))
  17.    10 isize=ksize*istack(ltab+5)
  18. c...  check for valid size
  19.       if (isize.ge.0) go to 20
  20.       memerr=2
  21.       call errmem(5,memerr,ipntr(1))
  22.    20 jsize=istack(ltab+3)
  23.       if (isize.le.jsize) go to 30
  24.       memerr=6
  25.       call errmem(5,memerr,ipntr(1))
  26.    30 istack(ltab+3)=istack(ltab+3)-isize
  27.       memavl=memavl+(nxtevn(jsize)-nxtevn(istack(ltab+3)))
  28.       call memadj
  29.       return
  30.       end
  31.